From f9fe640905351b7f94342035b49b0f5a553e82ea Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Thu, 31 Dec 2020 12:48:41 +0100 Subject: [PATCH] settings: Overallocate property_values Instead of walking the pspecs twice and checking for the owner_type, just allocate n_pspecs entries. They are the same value right now anyway, but even if they aren't it doesn't hurt to have a few extra ones allocated. --- gtk/gtksettings.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c index 02b02c3911..2338fcf530 100644 --- a/gtk/gtksettings.c +++ b/gtk/gtksettings.c @@ -236,6 +236,7 @@ static void gtk_settings_init (GtkSettings *settings) { GParamSpec **pspecs, **p; + guint n_pspecs; guint i = 0; char *path; const char * const *config_dirs; @@ -250,14 +251,11 @@ gtk_settings_init (GtkSettings *settings) * notification for them (at least notification for internal properties * will instantly be caught) */ - pspecs = g_object_class_list_properties (G_OBJECT_GET_CLASS (settings), NULL); - for (p = pspecs; *p; p++) - if ((*p)->owner_type == G_OBJECT_TYPE (settings)) - i++; - settings->property_values = g_new0 (GtkSettingsPropertyValue, i); - i = 0; + pspecs = g_object_class_list_properties (G_OBJECT_GET_CLASS (settings), &n_pspecs); + settings->property_values = g_new0 (GtkSettingsPropertyValue, n_pspecs); g_object_freeze_notify (G_OBJECT (settings)); + i = 0; for (p = pspecs; *p; p++) { GParamSpec *pspec = *p; -- 2.30.2